<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <p>message的值是：{{ message | capi }}</p>
    </div>

    <div id="app2">
        <p>message的值是：{{ message | capi }}</p>
    </div>
    <script src="./lib/vue-2.6.12.js"></script>
    <script>
        //使用 Vue.filter() 定义全局过滤器
        //如果全局过滤器和私有过滤器名字一致，此时按照"就近原则”，调用的是”私有过滤器”
        Vue.filter('capi', (val) => {
            return val.charAt(0).toUpperCase() + val.slice(1) + '~~~~'
        })

        const vm = new Vue({
            el: '#app',
            data: {
                message: 'hello vue'
            },
            //过滤器函数必须定义到 filters 节点下
            //过滤器本质是函数
            filters: {
                //过滤器函数中形参 val ,是 管道符 前面的那个值
                capi(val) {
                    const first = val.charAt(0).toUpperCase()//charAt获取从字符串中把接受的索引对应的字符
                    const other = val.slice(1)//slice 从指定索引往后截取字符串
                    //过滤器中一定要有返回值
                    return first + other
                }
            }
        })

        const vm2 = new Vue({
            el: '#app2',
            data: {
                message: "heima"
            }
        })


    </script>
</body>

</html>